package Case_package;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class case_demo2 {
    public static void main(String[] args) throws IOException {
        /*
            为了保证文件的安全性，就需要对原始文件进行加密存储，再使用的时候再对其进行解密处理。
            加密原理：
                对原始文件中的每一个字节数据进行更改，然后将更改之后的数据存储到新的文件中。
            解密原理：
                读取加密之后的文件，按照加密的规则反向操作，变成原始文件

            ^异或：
                两边相同：false 0
                两边不同：true 1
         */
        System.out.println(100 ^ 10);//110
        System.out.println(110 ^ 10);//100

        //1、创建对象关联原始文件
        FileInputStream fis = new FileInputStream("/Users/zhaoxiaoyong/Documents/Java/" +
                "IO_stream_project/Char_stream_module/src/rough_draft/a.txt");
        //2、创建对象关联加密文件
        FileOutputStream fos = new FileOutputStream("/Users/zhaoxiaoyong/Documents/Java/" +
                "IO_stream_project/Char_stream_module/src/rough_draft/c.txt");

        //3、加密处理
        int b;
        while ((b = fis.read()) != -1) {
            fos.write(b ^ 2);
        }
        //4、释放资源
        fos.close();
        fis.close();

    }
}
